// 导入 axios
import axios from 'axios'
export default {
  namespaced: true,
  state: () => ({
    token: '',
    userinfo: {}
    // 手动持久化，每次去 localStorage 中取值
    // token: localStorage.getItem('token') || ''
  }),
  mutations: {
    //  定义一个修改 token 的 mutation 函数
    updateToken (state, token) {
      state.token = token
      // 每次修改都存入 localStorage
    //   localStorage.setItem('token', token)
    },
    updateUserinfo (state, userinfo) {
      state.userinfo = userinfo
    }
  },
  actions: {
    async getUserinfo (context) {
      // 发起ajax 获取数据
    //   const { data: res } = await axios.get('/my/userinfo', {
    //     headers: { // headers 需要手写
    //       Authorization: context.state.token
    //     }
    //   })
    // 加了请求拦截器，现在不需要带 token
      const { data: res } = await axios.get('/my/userinfo')
      // 获取到数据后，转交给 mutations 函数处理
      context.commit('updateUserinfo', res.data)
    }
  }
}
